<template>
  <div class="canvas" ref="canvas"></div>
</template>

<script>
import * as joint from 'jointjs'
export default {
  data () {
    return {
      paper: null
    }
  },
  mounted() {
    this.init()
  },
  methods: {
    init() {
      let graph = new joint.dia.Graph

      this.paper = new joint.dia.Paper({
        el: this.$refs.canvas,
        model: graph,
        width: 600,
        height: 100,
        gridSize: 10, // 网格大小
        drawGrid: true, // 显示网格
        background: {
            color: 'rgba(0, 255, 0, 0.3)'
        }
      })

      let rect = new joint.shapes.standard.Rectangle()
      rect.position(100, 30)
      rect.resize(100, 40)
      rect.attr({
        body: {
          fill: 'blue'
        },
        label: {
          text: 'Hello',
          fill: 'white'
        }
      })
      rect.addTo(graph)

      let rect2 = rect.clone()
      rect2.translate(300, 0)
      rect2.attr('label/text', 'World!')
      rect2.addTo(graph)

      let link = new joint.shapes.standard.Link()
      link.source(rect)
      link.target(rect2)
      link.addTo(graph)
    }
  }
}
</script>

<style>

</style>